#include <iostream>
#include <string>
#include "enum_tool.hpp"
enum class Color
{
  RED,
  GREEN,
  BLUE
};

using namespace std;

int main()
{
  auto c1 = Color::GREEN;
  auto name = get_type_name<Color>();
  auto name2 = get_enum_name<Color, Color::RED>();
  auto name3 = get_enum_name_dynamic<Color>(Color::RED);
  std::cout << name3 << "\n";

  auto e = enum_from_name<Color>("GREEN");
  std::cout << (int)e << "\n";
}